package com.sise.stuteaintersys.service;

import com.github.pagehelper.PageInfo;
import com.sise.stuteaintersys.bean.entity.Admin;
import com.sise.stuteaintersys.bean.entity.Student;
import com.sise.stuteaintersys.bean.entity.Teacher;

import java.util.List;

/**
 * @ClassName AdminUserService
 * @Description 管理用户
 * @Date 2019/1/5 23:37
 * @Version 1.0
 **/
public interface AdminUserService {

    /**
     * 添加学生
     * @param student
     * @return
     */
    Boolean addStudent(Student student);

    /**
     * 批量添加学生
     * @param students
     * @return
     */
    Boolean addStudentList(List<Student> students);

    /**
     * 添加教师
     * @param teacher
     * @return
     */
    Boolean addTeacher(Teacher teacher);

    /**
     * 批量添加教师
     * @param teachers
     * @return
     */
    Boolean addTeacherList(List<Teacher> teachers);

    /**
     * 添加管理员
     * @param admin
     * @return
     */
    Boolean addAdmin(Admin admin);

    /**
     * 查询学生
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageInfo<Student> findStudents(Integer pageNum, Integer pageSize);

    /**
     * 根据学生姓名模糊查询
     * @param pageNum
     * @param pageSize
     * @param name
     * @return
     */
    PageInfo<Student> findStudentByName(Integer pageNum, Integer pageSize, String name);

    /**
     * 查询用户是否存在
     * @param name
     * @param status
     * @return
     */
    int checkUser(String name, String status);

    /**
     *返回所有教师
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageInfo<Teacher> findTeachers(Integer pageNum, Integer pageSize);

    /**
     * 根据教师姓名模糊查询
     * @param pageNum
     * @param pageSize
     * @param name
     * @return
     */
    PageInfo<Teacher> findTeacherByName(Integer pageNum, Integer pageSize, String name);

    /**
     * 查询多有管理员
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageInfo<Admin> findAdmins(Integer pageNum, Integer pageSize);

    /**
     * 删除学生
     * @param id
     */
    int delStudent(Integer id);

    /**
     * 删除教师
     * @param id
     */
    int delTeacher(Integer id);

    /**
     * 删除管理员
     * @param id
     */
    void delAdmin(Integer id);
}
